Pour utiliser le fichier `.htaccess` afin de créer des permaliens personnalisés sur un site statique, il est nécessaire de comprendre les directives et les fonctionnalités offertes par Apache HTTP Server. Les fichiers `.htaccess` permettent de configurer des paramètres spécifiques pour les répertoires où ils se trouvent, notamment en ce qui concerne la réécriture d’URL, ce qui est essentiel pour les permaliens personnalisés.
1. Création d’un fichier `.htaccess` : Assurez-vous que vous avez un fichier `.htaccess` à la racine du répertoire de votre site. Si ce fichier n’existe pas encore, créez-le en utilisant un éditeur de texte comme Notepad++ (Windows) ou TextEdit (Mac).
1. Activation du module de réécriture (`mod_rewrite`) : Vérifiez que le module `mod_rewrite` est activé sur votre serveur Apache. Vous pouvez le faire en accédant à votre fichier principal de configuration Apache (`httpd.conf`) et en décommentant (ou ajoutant) la ligne suivante : \`\`\` LoadModule rewrite_module modules/mod_rewrite.so \`\`\`
1. Configuration des règles de réécriture : Ajoutez des directives de réécriture dans le fichier `.htaccess` pour transformer des URLs conviviales en chemins réels de votre serveur. Voici un exemple typique pour réécrire des URLs :
\`\`\`apache RewriteEngine On RewriteBase / # Exemple de réécriture d’URL pour des articles de blog RewriteRule ^blog/([0-9]+)/([a-zA-Z0-9\_-]+)$ blog-post.php?id=$1&title=$2 [L,QSA] # Redirection d’une ancienne URL vers une nouvelle RewriteRule ^old-page$ new-page [R=301,L] # Redirection pour les pages d’erreur personnalisées ErrorDocument 404 /error-pages/404.html \`\`\` Explication des termes utilisés : - `RewriteEngine On` : Active le moteur de réécriture. - `RewriteBase /` : Définit la base de toutes les réécritures. - `RewriteRule ^blog/([0-9]+)/([a-zA-Z0-9_-]+)$ blog-post.php?id=$1&title=$2 [L,QSA]` : – `^blog/([0-9]+)/([a-zA-Z0-9_-]+)$` : Motif de l’URL qui sera capturé par `([0-9]+)` pour une série de chiffres (ID) et `([a-zA-Z0-9_-]+)` pour le titre de l’article. – `blog-post.php?id=$1&title=$2` : Correspondance avec le fichier PHP du serveur en utilisant les groupes capturés. – `[L,QSA]` : Indique que c’est la dernière règle, et qu’il faut conserver la chaîne de requête (QSA signifie Query String Append).
- Articles de Blog : Vous souhaitez que l’URL `www.monsite.com/blog/123/titre-de-l-article` soit réécrite vers `blog-post.php?id=123&title=titre-de-l-article`.
- Redirection d’anciennes pages : Rediriger les anciennes URLs vers les nouvelles sans perdre le référencement (SEO), par exemple, de `www.monsite.com/old-page` vers `www.monsite.com/new-page`.
Ces ressources offrent des informations détaillées sur la configuration des fichiers `.htaccess` et l’utilisation du module `mod_rewrite` pour la gestion des permaliens et autres redirections sur un site statique.